//实现一个函数，比较两个版本号的大小。返回 1（大于）/0（等于）/-1（小于）。
// 如：compareVer('1.2.3', '1.4.5') => -1

const compareVer = (version1:string,version2:string):number => {
    // 将版本号字符串按照'.'分割成版本号的各个部分，并转换为整数数组
    // map()方法创建一个新数组，这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成
    const parts1:number[] = version1.split('.').map(v=>Number(v));
    const parts2:number[] = version2.split('.').map(v=>Number(v));
    // 如果版本号长度不同，在较短的版本号后补0，使长度相同
    while(parts1.length < parts2.length){
        parts1.push(0)
    }
    while(parts2.length < parts1.length){
        parts2.push(0)
    }
    // 比较版本的各个部分
    for(let i = 0; i < parts1.length; i++){
        if(parts1[i] > parts2[i]) return 1; //版本1大于版本2
        if(parts1[i] < parts2[i]) return -1; //版本1小于版本2
    }
    // 所有部分相同，version1等于version2
    return 0
}

console.log(compareVer('1.2.3','1.4.5.6.7.8'));
